#ifndef AUTOMAT_H
#define AUTOMAT_H

#include <stddef.h>
#include "IAutomat.h"

class IState;
class IScanner;

class Automat: public IAutomat {
private:
	IScanner* scanner;
	IState* currentState;

public:
	Automat(IScanner* newScanner);
	TokenType handle(char c);
	void setCurrentState(IState* newState);
	int ungetChar(size_t count = 1);
	void error();
};

#endif
